package com.ruoyi.detail.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单商品对象 order_goods
 * 
 * @author ruoyi
 * @date 2025-08-15
 */
public class OrderGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID")
    private Long id;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String number;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 地址ID */
    @Excel(name = "地址ID")
    private Integer addressId;

    /** 商品单价 */
    @Excel(name = "商品单价")
    private BigDecimal goodsPrice;

    /** 小计金额 */
    @Excel(name = "小计金额")
    private Float subtotal;

    /** 创建时间 */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 支付时间 */
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /** 支付状态 */
    @Excel(name = "支付状态")
    private Integer payStatus;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String payMethod;

    /** 下单人 */
    @Excel(name = "下单人")
    private String orderPerson;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 收货人 */
    @Excel(name = "收货人")
    private String consignee;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String address;

    /** 取消原因 */
    @Excel(name = "取消原因")
    private String cancelReson;

    /** 拒收原因 */
    @Excel(name = "拒收原因")
    private String rejectionReson;

    /** 取消时间 */
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    /** 发货时间 */
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date dekiveryTime;

    /** 发货状态 */
    @Excel(name = "发货状态")
    private Integer dekiveryStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setNumber(String number) 
    {
        this.number = number;
    }

    public String getNumber() 
    {
        return number;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setAddressId(Integer addressId) 
    {
        this.addressId = addressId;
    }

    public Integer getAddressId() 
    {
        return addressId;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) 
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice() 
    {
        return goodsPrice;
    }

    public void setSubtotal(Float subtotal) 
    {
        this.subtotal = subtotal;
    }

    public Float getSubtotal() 
    {
        return subtotal;
    }

    public void setCreateTime(Date createTime) 
    {
        this.createTime = createTime;
    }

    public Date getCreateTime() 
    {
        return createTime;
    }

    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }

    public void setPayStatus(Integer payStatus) 
    {
        this.payStatus = payStatus;
    }

    public Integer getPayStatus() 
    {
        return payStatus;
    }

    public void setPayMethod(String payMethod) 
    {
        this.payMethod = payMethod;
    }

    public String getPayMethod() 
    {
        return payMethod;
    }

    public void setOrderPerson(String orderPerson) 
    {
        this.orderPerson = orderPerson;
    }

    public String getOrderPerson() 
    {
        return orderPerson;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setConsignee(String consignee) 
    {
        this.consignee = consignee;
    }

    public String getConsignee() 
    {
        return consignee;
    }

    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setCancelReson(String cancelReson) 
    {
        this.cancelReson = cancelReson;
    }

    public String getCancelReson() 
    {
        return cancelReson;
    }

    public void setRejectionReson(String rejectionReson) 
    {
        this.rejectionReson = rejectionReson;
    }

    public String getRejectionReson() 
    {
        return rejectionReson;
    }

    public void setCancelTime(Date cancelTime) 
    {
        this.cancelTime = cancelTime;
    }

    public Date getCancelTime() 
    {
        return cancelTime;
    }

    public void setDekiveryTime(Date dekiveryTime) 
    {
        this.dekiveryTime = dekiveryTime;
    }

    public Date getDekiveryTime() 
    {
        return dekiveryTime;
    }

    public void setDekiveryStatus(Integer dekiveryStatus) 
    {
        this.dekiveryStatus = dekiveryStatus;
    }

    public Integer getDekiveryStatus() 
    {
        return dekiveryStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("number", getNumber())
            .append("userId", getUserId())
            .append("addressId", getAddressId())
            .append("goodsPrice", getGoodsPrice())
            .append("subtotal", getSubtotal())
            .append("createTime", getCreateTime())
            .append("payTime", getPayTime())
            .append("payStatus", getPayStatus())
            .append("payMethod", getPayMethod())
            .append("orderPerson", getOrderPerson())
            .append("phone", getPhone())
            .append("consignee", getConsignee())
            .append("orderStatus", getOrderStatus())
            .append("address", getAddress())
            .append("cancelReson", getCancelReson())
            .append("rejectionReson", getRejectionReson())
            .append("cancelTime", getCancelTime())
            .append("dekiveryTime", getDekiveryTime())
            .append("dekiveryStatus", getDekiveryStatus())
            .toString();
    }
}
